import request from '@/utils/request'

/**
 * 获取购物车列表
 * @returns {Promise<Array>} 购物车商品列表
 */
export function getCartList() {
  return request({
    url: '/shopCat/listCart',
    method: 'get'
  })
}

/**
 * 添加或移除商品到购物车
 * @param {Object} data
 * @param {Number} data.goodsId - 商品ID
 * @param {Boolean} data.ifAdd - 是否添加 (true:添加 false:移除)
 */
export function addOrRemoveGoods(data) {
  return request({
    url: '/shopCat/addOrRemoveGoodsToCart',
    method: 'post',
    data
  })
}

/**
 * 更新所有商品选中状态
 * @param {Boolean} flag - 选中状态 (true:全选 false:全不选)
 */
export function updateAllCheckStatus(flag) {
  return request({
    url: '/shopCat/updateAllCheckStatus',
    method: 'put',
    params: { flag }
  })
}

/**
 * 批量删除购物车商品
 * @param {Array<Number>} goodsIds - 商品ID列表
 */
export function deleteCartGoods(goodsIds) {
  const ids = Array.isArray(goodsIds) ? goodsIds.join(',') : goodsIds
  return request({
    url: `/shopCat/delete/${ids}`,
    method: 'delete'
  })
}
